1. Field of the Invention
The present invention relates to computer apparatus having a plurality of units connected to a bus, or to continuous data server apparatus which utilizes a bus for data transfer between units.
2. Description of the Background Art
In computer systems which handle digital information, a bus is widely adopted as a cheap method of connecting a plurality of units. A problem in designing a system which uses a bus is that bandwidth bottleneck of the bus can easily occur. In order to increase the bandwidth of the bus, it may be possible to increase the number of signal lines or to raise the operating frequency of the bus. However, in either case, costs tend to increase.
A possible method of increasing bandwidth of the bus while avoiding increased costs may be to increase the use rate of the bus. However, when a plurality of units are connected to a bus, in general, the right to use the bus has to be arbitrated. The fact that such arbitration takes a certain time presents an obstacle to raising the use rate of the bus.
Moreover, in computer systems which employ a large number of memories, low-cost DRAMs are widely used as memories. When DRAMs are used in high-speed paging mode, they can accommodate a large bandwidth, but they are subject to a problem of large latency. Consequently, when data are transferred between a DRAM and a bus, this latency, in addition to the arbitration operation, further lowers the use rate of the bus.
One type of computer system which employs a bus is a continuous data server apparatus. A continuous data server for handling continuous data such as video data and/or audio data performs functions for reading out the continuous data stored in memory devices, and transfers the data (of a fixed quantity in a fixed period) continuously in real time while synchronizing in time with terminal devices.
Such a continuous data server apparatus is used in fields such as video-on-demand wherein video data comprising a plurality of video files are stored and an arbitrary video file is transferred in response to a request from a terminal, and an on-line shopping service wherein product information is provided by video through a network. Consequently, the continuous data server receives requests from a plurality of users at random, and is required to have a capability to transfer respectively different continuous data to a large number of users simultaneously.
An exemplary conventional continuous data server apparatus 700 has a configuration as shown in FIG. 1. In this continuous data server, an access request for continuous data issued by a user or an application program is sent between software processes or by means of communication via a network, etc. This access request is received by a communication control unit 702 and transmitted via a bus 704 to a central control device 706. Central control device 706 then instructs a storage unit 708 to read the requested continuous data. In response, a data storage control device 710 of storage unit 708 reads out the designated continuous data from a data storage device 712 and writes the data to a buffer memory 714. Central control device 706 then instructs one of communication control units 702 to transmit the data in buffer memory 714. In response, communication control unit 702 transfers the continuous data to a transfer destination designated in the access request. These operations are usually performed in units of a fixed time interval called a slot.
Another exemplary conventional continuous data server apparatus has a configuration as shown in FIG. 2. In this continuous data server, a "striping" technique is utilized. A series of storage units 708 are provided connected in parallel to bus 704. Continuous data is stored in the storage units 708 such that one continuous data stream is stored by dividing it among a plurality of disk devices which are the members of the series. The purpose of this technique is to make it possible for a greater number of users to access the same continuous data simultaneously and to increase an overall data transfer capability (total bandwidth).
In such conventional continuous data server apparatus, storage unit 708 and communication control unit 702 issue requests for using bus 704, and these requests are arbitrated by an arbitration device, not shown in the figures. If it has acquired the right to use the bus, storage unit 708 or communication control unit 702 transfers/receives data to/from buffer memory 714 using bus 704. As a result, the time required for the arbitration lowers the use rate of bus 704, and therefore decreases the number of users who can access simultaneously.
In addition, it is necessary for the continuous data server to always guarantee the transfer of a fixed quantity of data in a fixed time interval to each user terminal, in order to ensure that the user terminal can play the continuous data without interruption. For that purpose, the use rate of the bus is further lowered so as to provide a margin.